<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body>
  <script>
    // 题目1(选做)：const arr=['name','age','hhh','hhh','age','hhh','hhh','hhh']各出现多少次
    // 要求输出一个对象如下：{age: 2,hhh: 5,name: 1}
    const arr = ['name', 'age', 'hhh', 'hhh', 'age', 'hhh', 'hhh', 'hhh']
    const obj = {}
    arr.forEach(item => {
      if (obj[item]) {
        obj[item]++
      } else {
        obj[item] = 1
      }
    })
    console.log(obj);
    // 题目2(必做)：现在两个数组，判断在a中的元素，不在b中 const a = [1,2,3,5] const b=[1,3,5,6] 将在a不在b中的筛选出来
    // 要求：输出一个数组：[2]
    const a = [1, 2, 3, 5]
    const b = [1, 3, 5, 6]
    let ab=[]
    let flag
    for (let i=0;i<a.length;i++){
      for (let j=0;j<b.length;j++){
        if (a[i]===b[j]){
          flag=true
          break
        }else{
          flag=false
        }
      }
      if (!flag){
        ab.push(a[i])
      }
    }
    console.log(ab);
    // 题目3(必做):数组去重(可以用多种方法,至少写一种)
    // 要求：输出一个数组：[1,2,3,9]
    const arr2 = [1, 2, 3, 2, 9]
    // 用newSet
    console.log([...new Set(arr2)])
    //用filter筛选indexOf判断元素在数组中首次出现位置和现在位置对比
    const newArr2=arr2.filter(function(i,index,arr){
      return arr.indexOf(i)===index
    })
    console.log(newArr2);
  </script>
</body>

</html>